Using the Core Reflection API
/** Map Integer to int, Character to char, etc. */
private Class toPrim(Class wrapper) {
  if (wraptab == null)  wraptab = makeWraptab();
  for (int i = 0; i < wraptab.length; i++)
    if (wrapper == wraptab[i][0])
      return wraptab[i][1];
  return wrapper;
}
private Class wraptab[][] = null;
private Class[][] makeWraptab() {
  return new Class[][] {
    { Short.class, short.class },
    { Byte.class, byte.class },
    { Character.class, char.class },
    { Integer.class, Integer.TYPE },
    { Long.class, Long.TYPE },
    { Float.class, Float.TYPE },
    { Double.class, Double.TYPE },
    { Boolean.class, Boolean.TYPE },
  };
}

Return to Tracks